/*
 * @Descripttion:
 * @version: 1.0.0
 * @Author: htang
 * @Date: 2024-01-11 19:48:36
 * @LastEditors: htang
 * @LastEditTime: 2024-01-11 19:55:34
 */
export function validateName(_rule, value) {
  // 正则表达式匹配非字母数字字符
  const regexSpecialChar = /[^\w]/;
  // 正则表达式匹配全英文或全数字
  const regexAllEnglishOrNumber = /^[a-zA-Z]+$|^\d+$/;
  if (value === '') {
    return Promise.reject('请输入录像机名称');
  } else if (regexSpecialChar.test(value) || regexAllEnglishOrNumber.test(value)) {
    return Promise.reject('不能包含特殊字符、全英文或数字字符');
  } else {
    return Promise.resolve();
  }
}

export function validateNvrAccount(_rule, value) {
  const regexChinese = /[\u4e00-\u9fff]/;
  if (value === '') {
    return Promise.reject('请输入录像机账号');
  } else if (regexChinese.test(value)) {
    return Promise.reject('不能包含中文字符');
  } else {
    return Promise.resolve();
  }
};

export function validateIP(_rule, value) {
  const regexIP =
    /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
  if (value === '') {
    return Promise.reject('请输入IP信息');
  } else if (!regexIP.test(value)) {
    return Promise.reject('Ip格式不正确，请重新输入');
  } else {
    return Promise.resolve();
  }
};

export function validateNvrPassword(_rule, value) {
  const regexChinese = /[\u4e00-\u9fff]/;
  if (value === '') {
    return Promise.reject('请输入录像机密码');
  } else if (regexChinese.test(value)) {
    return Promise.reject('不能包含中文字符');
  } else {
    return Promise.resolve();
  }
};

export function validateCameraCode(_rule, value) {
  const regex = /[^\w]|[\u4e00-\u9fa5]/;
  if (value === '') {
    return Promise.reject('请输入编码');
  } else if (regex.test(value)) {
    return Promise.reject('不能包含特殊字符和中文字符');
  } else {
    return Promise.resolve();
  }
};

export function validatePort(_rule, value) {
  const regex = /^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;
  if (value === '') {
    return Promise.reject('请输入端口');
  } else if (!regex.test(value)) {
    return Promise.reject('端口格式不正确');
  } else {
    return Promise.resolve();
  }
}